# LYGAME 

The dataset contains two subsets: *lygame1* and *lygame2*. 

Each subset contains the following files.

- inter.csv
- target.csv
- weapon.csv

## Data description

### 1. inter.csv

This file contains the target-weapon interaction records, including the following fields:

- t_id, w_id, label, timestamp

- t_id: the id of the target entity and its type is token. 

- w_id: the id of the weapon entity and its type is token. 

- label: both positive feedback (the target is hit by the weapon) and negative feedback (the target is not hit by the weapon), its type is float.

- timestamp: the UNIX timestamp of the , and its type is float.

Note that `inter.csv`  in *lygame1* includes 46,618 interaction records, and  `inter.csv` in *lygame2* has 44,549 interaction records.

### 2. target.csv

This file contains target features.

In *lygame1*, `target.csv` file contains 3,616 targets. Each target has an ID and 79 features in total, including 58 numerical features (`tI1` to `tI58`, end with *float* or *float_seq*) and 21 categorical features (`tC1` to `tC21`, end with *token* or *token_seq*). Some values of categorical features have been hashed onto 32 bits for anonymization purposes.

In *lygame2*, `target.csv` file contains 2,144 targets. Each target has an ID and 78 features, including 59 numerical features (`tI1` to `tI59`, end with *float* or *float_seq*) and 19 categorical features (`tC1` to `tC19`, end with *token* or *token_seq*). Some values of categorical features have been hashed onto 32 bits for anonymization purposes.

|                | lygame1                                                      |                | lygame2                                                      |
| -------------- | ------------------------------------------------------------ | -------------- | ------------------------------------------------------------ |
| **Field Name** | **Description**                                              | **Field Name** | **Description**                                              |
| t_id:token     | ID of  the target                                            | t_id:token     | ID of  the target                                            |
| tI1:float      | Length of the target                                         | tI1:float      | Length of the target                                         |
| tI2:float      | Width of aircraft-type targets                               | tI2:float      | Width of aircraft-type targets                               |
| tI3:float      | Height of the target                                         | tI3:float      | Height of the target                                         |
| tI4:float      | Empty weight of the target                                   | tI4:float      | Empty weight of the target                                   |
| tI5:float      | Maximum loaded weight  of the target                         | tI5:float      | Maximum loaded weight  of the target                         |
| tI6:float      | Payload capacity  of the target                              | tI6:float      | Payload capacity  of the target                              |
| tI7:float      | Number of operators                                          | tI7:float      | Number of operators                                          |
| tI8:float      | Agility of the target                                        | tI8:float      | Agility of the target                                        |
| tI9:float      | Rate of climb capability  of the target                      | tI9:float      | Rate of climb capability  of the target                      |
| tI10:float     | Detection time in OODA cycle (Observe,  Orient, Decide, Act) | tI10:float     | Detection time in OODA cycle (Observe,  Orient, Decide, Act) |
| tI11:float     | Target engagement time in OODA  cycle                        | tI11:float     | Target engagement time in OODA  cycle                        |
| tI12:float     | Evasion time in OODA cycle                                   | tI12:float     | Evasion time in OODA cycle                                   |
| tI13:float     | Total operational endurance                                  | tI13:float     | Total operational endurance                                  |
| tI14:float     | Degree value of Damage                                       | tI14:float     | Degree value of Damage                                       |
| tI15:float     | Loading cost                                                 | tI15:float     | Loading cost                                                 |
| tI16:float     | Defensive capability of the target                           | tI16:float     | Defensive capability of the target                           |
| tI17:float     | Cruise propulsion thrust  of the target                      | tI17:float     | Cruise propulsion thrust  of the target                      |
| tI18:float     | Thrust of burner output                                      | tI18:float     | Thrust of burner output                                      |
| tI19:float     | Area of the Facility-type target                             | tI19:float     | Area of the Facility-type target                             |
| tI20:float     | Width  of the target                                         | tI20:float     | Width  of the target                                         |
| tI21:float     | Mast height of the target                                    | tI21:float     | Mast height of the target                                    |
| tI22:float     | Anti-missile defense capability  of the target               | tI22:float     | Anti-missile defense capability  of the target               |
| tI23:float     | Radius of the target                                         | tI23:float     | Radius of the target                                         |
| tI24:float     | Maximum operational range   of the target                    | tI24:float     | Maximum operational range   of the target                    |
| tI25:float     | Maximum speed of the target                                  | tI25:float     | Maximum speed of the target                                  |
| tI26:float     | Width of the Ship-type target                                | tI26:float     | Width of the Ship-type target                                |
| tI27:float     | Draft depth of the target                                    | tI27:float     | Draft depth of the target                                    |
| tI28:float     | Lightweight displacement of the target                       | tI28:float     | Lightweight displacement of the target                       |
| tI29:float     | Standard displacement  of the target                         | tI29:float     | Standard displacement  of the target                         |
| tI30:float     | Fully load displacement   of the target                      | tI30:float     | Fully load displacement   of the target                      |
| tI31:float     | Maximum sea conditions that can be tolerated of the target   | tI31:float     | Collaborative capacity of the target                         |
| tI32:float     | Collaborative capacity of the target                         | tI32:float     | Replenishment capacity of the target                         |
| tI33:float     | Replenishment capacity of the target                         | tI33:float     | Mass capacity  of the cargo                                  |
| tI34:float     | Mass capacity  of the cargo                                  | tI34:float     | Area capacity  of the cargo                                  |
| tI35:float     | Area capacity  of the cargo                                  | tI35:float     | The number of the Cargo Crew                                 |
| tI36:float     | The number of the Cargo Crew                                 | tI36:float     | Volume capacity of the cargo                                 |
| tI37:float     | Volume capacity of the cargo                                 | tI37:float     | Minimum turning radius of the target                         |
| tI38:float     | Minimum turning radius of the target                         | tI38:float     | Maximum dive depth  of the target                            |
| tI39:float     | Maximum dive depth  of the target                            | tI39:float     | Rate of ascent and descent of the target                     |
| tI40:float     | Rate of ascent and descent of the target                     | tI40:float     | Diameter of the target                                       |
| tI41:float     | Diameter of the target                                       | tI41:float     | Weight of the target                                         |
| tI42:float     | Weight of the target                                         | tI42:float     | Burnout weight of the target                                 |
| tI43:float     | Standard cruising altitude  above ground level               | tI43:float     | Standard cruising altitude  above ground level               |
| tI44:float     | True cruising altitude  above sea level                      | tI44:float     | True cruising altitude  above sea level                      |
| tI45:float     | Number of navigational waypoints                             | tI45:float     | Number of navigational waypoints                             |
| tI46:float     | Circular error probable  of the target                       | tI46:float     | Circular error probable  of the target                       |
| tI47:float     | CEP for surface target                                       | tI47:float     | CEP for ground target                                        |
| tI48:float     | Reference hit probability against surface target             | tI48:float     | Reference hit probability against surface target             |
| tI49:float     | Reference hit Probability against ground target              | tI49:float     | Reference hit Probability against ground target              |
| tI50:float     | Maximum engagement range  against surface target             | tI50:float     | Maximum engagement range  against surface target             |
| tI51:float     | Minimum engagement range  against surface target             | tI51:float     | Minimum engagement range  against surface target             |
| tI52:float     | Maximum engagement range  against ground target              | tI52:float     | Maximum engagement range  against ground target              |
| tI53:float     | Minimum engagement range  against ground target              | tI53:float     | Minimum engagement range  against ground target              |
| tI54:float     | Maximum launch speed                                         | tI54:float     | Maximum launch velocity                                      |
| tI55:float     | Minimum launch speed                                         | tI55:float     | Minimum launch velocity                                      |
| tI56:float     | Minimum launch altitude                                      | tI56:float     | Maximum launch altitude                                      |
| tI57:float     | Maximum launch altitude  above sea level                     | tI57:float     | Maximum launch altitude  above sea level                     |
| tI58:float     | Minimum launch  altitude  above ground level                 | tI58:float     | Maximum launch  altitude  above ground level                 |
| tC1:token      | Type ID  of the target                                       | tI59:float     | Minimum launch altitude above ground level                   |
| tC2:token      | Type name of the target                                      | tC1:token      | Type ID  of the target                                       |
| tC3:token      | Category  of the target                                      | tC2:token      | Type name of the target                                      |
| tC4:token      | Origin country of the target                                 | tC3:token      | Category  of the target                                      |
| tC5:token      | The military branches served of the target                   | tC4:token      | Origin country of the target                                 |
| tC6:token      | Physical size code  of the target                            | tC5:token      | The military branches served of the target                   |
| tC7:token      | Runway length code of the target                             | tC6:token      | Physical size code  of the target                            |
| tC8:token      | Is it a future model equipment                               | tC7:token      | Runway length code of the target                             |
| tC9:token      | Visibility conditions of the target                          | tC8:token      | Visibility conditions of the target                          |
| tC10:token     | Armor type of the target                                     | tC9:token      | Armor type of the target                                     |
| tC11:token     | Whether mounts can be aimpoints                              | tC10:token     | Whether mounts can be aimpoints                              |
| tC12:token     | Armor belt of the target                                     | tC11:token     | Armor belt of the target                                     |
| tC13:token     | Bulkhead armor  of the target                                | tC12:token     | Bulkhead armor  of the target                                |
| tC14:token     | Armor deck of the target                                     | tC13:token     | Armor deck of the target                                     |
| tC15:token     | Bridge armor of the target                                   | tC14:token     | Bridge armor of the target                                   |
| tC16:token     | Combat intelligence center armor of the target               | tC15:token     | Combat intelligence center armor of the target               |
| tC17:token     | Engineering armor  of the target                             | tC16:token     | Engineering armor  of the target                             |
| tC18:token     | Rudder system armor  of the target                           | tC17:token     | Rudder system armor  of the target                           |
| tC19:token     | Cargo type of the target                                     | tC18:token     | Cargo type of the target                                     |
| tC20:token     | Can act as a sensor or not                                   | tC19:token_seq | Weapon performance code ID                                   |
| tC21:token_seq | Weapon performance code ID                                   |                |                                                              |

### 3. weapon.csv

This file contains weapon features.

In *lygame1*, `weapon.csv` file contains 46,618 weapons. Each weapon has an ID and 56 features in total, including 44 numerical features (`wI1` to `wI44`, end with *float* or *float_seq*) and 12 categorical features (`wC1` to `wC12`, end with *token* or *token_seq*). Some values of categorical features have been hashed onto 32 bits for anonymization purposes.

In *lygame2*, `weapon.csv` file contains 44,549 targets. Each weapon has an ID and 53 features, including 41 numerical features (`wI1` to `wI41`, end with *float* or *float_seq*) and 12 categorical features (`wC1` to `wC12`, end with *token* or *token_seq*). Some values of categorical features have been hashed onto 32 bits for anonymization purposes.

|                | lygame1                                              |                | lygame2                                              |
| -------------- | ---------------------------------------------------- | -------------- | ---------------------------------------------------- |
| **Field Name** | **Description**                                      | **Field Name** | **Description**                                      |
| w_id:token     | ID of the weapon                                     | w_id:token     | ID of the weapon                                     |
| wI1:float      | Distance between weapon and target                   | wI1:float      | Distance between weapon and target                   |
| wI2:float      | Length of the  weapon                                | wI2:float      | Length of the  weapon                                |
| wI3:float      | Width of the  weapon                                 | wI3:float      | Width of the  weapon                                 |
| wI4:float      | Climb rate  of the weapon                            | wI4:float      | Climb rate  of the weapon                            |
| wI5:float      | Mass capacity  of the cargo                          | wI5:float      | Mass capacity  of the cargo                          |
| wI6:float      | Volume capacity of the cargo                         | wI6:float      | Volume capacity of the cargo                         |
| wI7:float      | Diameter of  the weapon                              | wI7:float      | Diameter of  the weapon                              |
| wI8:float      | Weight of the  weapon                                | wI8:float      | Weight of the  weapon                                |
| wI9:float      | Burnout weight of the weapon                         | wI9:float      | Standard Cruising  altitude above ground level       |
| wI10:float     | Standard Cruising  altitude above ground level       | wI10:float     | True cruising altitude above sea level               |
| wI11:float     | True cruising altitude above sea level               | wI11:float     | Number of navigational waypoints                     |
| wI12:float     | Number of navigational waypoints                     | wI12:float     | Target illumination duration                         |
| wI13:float     | Circular error  probable of the weapon               | wI13:float     | Circular Error  Probable of the weapon               |
| wI14:float     | CEP for  surface target                              | wI14:float     | CEP for  surface target                              |
| wI15:float     | Reference hit probability against aerial target      | wI15:float     | Reference hit probability against aerial target      |
| wI16:float     | Reference  hit probability against surface target    | wI16:float     | Reference  hit probability against surface target    |
| wI17:float     | Reference hit probability against land target        | wI17:float     | Reference hit probability against land target        |
| wI18:float     | Reference hit probability against subsurface target  | wI18:float     | Reference hit probability against subsurface target  |
| wI19:float     | Maximum  aerial range of the weapon                  | wI19:float     | Maximum  aerial range of the weapon                  |
| wI20:float     | Minimum  aerial range of the weapon                  | wI20:float     | Minimum  aerial range of the weapon                  |
| wI21:float     | Maximum surface engagement range of the weapon       | wI21:float     | Maximum surface engagement range of the weapon       |
| wI22:float     | Minimum surface engagement range of the weapon       | wI22:float     | Minimum surface engagement range of the weapon       |
| wI23:float     | Maximum  land engagement range of the weapon         | wI23:float     | Maximum  land engagement range of the weapon         |
| wI24:float     | Minimum  land engagement range of the weapon         | wI24:float     | Minimum  land engagement range of the weapon         |
| wI25:float     | Maximum subsurface engagement range of the weapon    | wI25:float     | Maximum subsurface engagement range of the weapon    |
| wI26:float     | Maximum  launch speed                                | wI26:float     | Maximum  launch speed                                |
| wI27:float     | Minimum  launch speed                                | wI27:float     | Minimum  launch speed                                |
| wI28:float     | Maximum launch altitude                              | wI28:float     | Maximum launch altitude                              |
| wI29:float     | Minimum launch altitude                              | wI29:float     | Minimum launch altitude                              |
| wI30:float     | Maximum launch altitude above sea level              | wI30:float     | Maximum launch altitude above sea level              |
| wI31:float     | Minimum launch altitude above sea level              | wI31:float     | Minimum launch altitude above sea level              |
| wI32:float     | Maximum speed to attack  target                      | wI32:float     | Maximum speed to attack  target                      |
| wI33:float     | Maximum altitude to attack target                    | wI33:float     | Maximum altitude to attack target                    |
| wI34:float     | Minimum altitude to attack target                    | wI34:float     | Minimum altitude to attack target                    |
| wI35:float     | Maximum altitude to attack target above sea level    | wI35:float     | Maximum altitude to attack target above sea level    |
| wI36:float     | Minimum altitude to attack target above sea level    | wI36:float     | Minimum altitude to attack target above sea level    |
| wI37:float     | Snap up-down altitude ability                        | wI37:float     | Snap up-down altitude ability                        |
| wI38:float     | Maximum  flight time                                 | wI38:float     | Cruise speed of the torpedo                          |
| wI39:float     | Cruise speed of the torpedo                          | wI39:float     | Cruise range of the torpedo                          |
| wI40:float     | Cruise range of the torpedo                          | wI40:float     | Fuel  capacity of the weapon                         |
| wI41:float     | Maximum speed of the torpedo                         | wI41:float_seq | Geographical  location of the weapon                 |
| wI42:float     | Maximum range of the torpedo                         | wC1:token      | ID of the weapon type                                |
| wI43:float     | Fuel  capacity of the weapon                         | wC2:token      | Entity ID equipped with weapon                       |
| wI44:float_seq | Geographical  location of the weapon                 | wC3:token      | Cargo type of the weapon                             |
| wC1:token      | ID of the weapon type                                | wC4:token      | Can act as a sensor or not                           |
| wC2:token      | Entity ID equipped with weapon                       | wC5:token      | Fuel type of the weapon                              |
| wC3:token      | Cargo type of the weapon                             | wC6:token      | Name of the propulsion                               |
| wC4:token      | Can act as a sensor or not                           | wC7:token_seq  | Weapon  performance code                             |
| wC5:token      | Fuel type of the weapon                              | wC8:token_seq  | Signature types of the weapon                        |
| wC6:token      | Name of the propulsion                               | wC9:token_seq  | Sensor  types of the weapon                          |
| wC7:token_seq  | Weapon  performance code                             | wC10:token_seq | Types of targets can be attacked                     |
| wC8:token_seq  | Signature types of the weapon                        | wC11:token_seq | Warhead  types of the weapon                         |
| wC9:token_seq  | Sensor  types of the weapon                          | wC12:token_seq | Codes for specific target types that can be attacked |
| wC10:token_seq | Types of targets can be attacked                     |                |                                                      |
| wC11:token_seq | Warhead  types of the weapon                         |                |                                                      |
| wC12:token_seq | Codes for specific target types that can be attacked |                |                                                      |

## Requirements

```
python>=3.9.0
pytorch>=1.10.0
recbole=1.2.0
```

## Quick start

Here is a quick-start example for our experiments in [Recbole](https://recbole.io/) framework.

- Before loading the dataset into RecBole project, you need to rename each of the following files with the corresponding suffixes. For example:
   `lygame1-target.csv` → `lygame1.user`,
   `lygame1-weapon.csv` → `lygame1.item`,
   `lygame1-inter.csv` → `lygame1.inter`.

- You can directly execute *run_recbole.py* to run a baseline model. In each of these commends, you need to specify several parameters to indicate the name of the model, dataset, and configuration file, respectively.

Run baseline models:

```
python run_recbole.py --model=[model name] --dataset=[dataset] --config_files=[config_files] 
```

## License

Our licensing for the dataset is under a CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial 4.0), with the additional terms included herein. See official instructions [here](https://creativecommons.org/licenses/by-nc/4.0/).